Varchar veri türünü sayısal olarak dönüştürme hata
64x64

OSMAN ZEKİ

28.8.2020 00:00:00

Bir otomasyonum var sarrafların kullanacağı. miktar alanım var burada veri tabanı sql de decimal(18,2) olarak girdim. bir ürün ekliyorum sepete örneğin 2,50 miktarda bir ürün ekliyorum sepete satış yap butonuma tıkladığımda ürünler alanında stok olarak tutulan miktardan düşmesi gerekiyor. ama hata Varchar veri türünü sayısal olarak dönüştürme hatasını alıyorum. yardımcı olurmusunuz. Kodlarım aşağıdaki alandaki gibidir.

for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
            {
                baglanti.Open();
                SqlCommand komut = new SqlCommand("insert into satiş(alisfiyati,emanet,tc,adsoyad,telefon,barkodno,urunadi,miktari,satisfiyati,toplamfiyati,tarih) values(@alisfiyati,@emanet,@tc,@adsoyad,@telefon,@barkodno,@urunadi,@miktari,@satisfiyati,@toplamfiyati,@tarih)", baglanti);
                komut.Parameters.AddWithValue("@alisfiyati", double.Parse(dataGridView1.Rows[i].Cells["alisfiyati"].Value.ToString()));
                komut.Parameters.AddWithValue("@emanet", comboBox1.Text);
                komut.Parameters.AddWithValue("@tc", txtTC.Text);
                komut.Parameters.AddWithValue("@adsoyad", txtAdSoyad.Text);
                komut.Parameters.AddWithValue("@telefon", txtTelefon.Text);
                komut.Parameters.AddWithValue("@barkodno", dataGridView1.Rows[i].Cells["barkodno"].Value.ToString());
                komut.Parameters.AddWithValue("@urunadi", dataGridView1.Rows[i].Cells["urunadi"].Value.ToString());
                komut.Parameters.AddWithValue("@miktari", double.Parse(dataGridView1.Rows[i].Cells["miktari"].Value.ToString()));
                komut.Parameters.AddWithValue("@satisfiyati", double.Parse(dataGridView1.Rows[i].Cells["satisfiyati"].Value.ToString()));
                komut.Parameters.AddWithValue("@toplamfiyati", double.Parse(dataGridView1.Rows[i].Cells["toplamfiyati"].Value.ToString()));
                komut.Parameters.AddWithValue("@tarih", DateTime.Now.ToString());
                komut.ExecuteNonQuery();

 

bu aşağıdaki alanım ürünler kısmında stok azaltma yapıyor   komut2.ExecuteNonQuery(); de alıyorum hatayı                

SqlCommand komut2 = new SqlCommand("update ürün set miktari=miktari-'" + double.Parse(dataGridView1.Rows[i].Cells["miktari"].Value.ToString()) + "'where barkodno='" + dataGridView1.Rows[i].Cells["barkodno"].Value.ToString() + "'", baglanti);
                komut2.ExecuteNonQuery();
                baglanti.Close();
                MessageBox.Show("Satış Yapıldı");

 

yardımcı olursanız çok sevinirim.

Yorum yaz